<?php
class UsuariosController extends AppController {
	var $name = 'Usuarios';
	var $uses = array();  

	function index(){
		$this->layout = "login";
		if (!empty($this->data)){
			$someone = $this->Usuario->findByUsuario($this->data['Usuario']['usuario']);

			if(!empty($someone['Usuario']['contrasena']) && $someone['Usuario']['contrasena'] == md5($this->data['Usuario']['contrasena'])){
	     		$this->Session->write('Usuario', $someone['Usuario']);

				/*if ($someone['Usuario']['perfil'] == 0) {
					$administrador = $this->Administradore->findByUsuariosId($someone['Usuario']['id']);
					$this->Session->write('administrador', $administrador);*/
		if($someone['Usuario']['perfil']==2){
			$this->redirect(array('controller'=>'Eventos','action'=>'listaroca'),null,true);
		}
		elseif($someone['Usuario']['perfil']==3){
			$this->redirect(array('controller'=>'Eventos','action'=>'listarsolicitante'),null,true);
		}
					$this->redirect(array('controller'=>'Usuarios','action'=>'listar'),null,true);
				/*}else if($someone['Usuario']['rol'] == 0) {
					$vendedor = $this->Vendedore->findByUsuariosId($someone['Usuario']['id']);

					if($vendedor['Vendedore']['estado'] == 1){
						$this->Session->write('nombre', $vendedor['Vendedore']['nombre']);
						$this->Session->write('apellido', $vendedor['Vendedore']['apellido']);

						$this->redirect(array('controller'=>'Ventas','action'=>'registrar'),null,true);
					}else{
						$this->Session->setFlash('Usuario inhabilitado');
            			$this->redirect(array('controller'=>'Usuarios','action'=>'index'),null,true);
					}
				}*/
			} else {
				$this->Session->setFlash('Usuario o clave incorrecta','error');
        		$this->redirect(array('controller'=>'Usuarios','action'=>'index'),null,true);
			}
		}
	}

	function listar(){
		$this->verificarUsuario();
		$usuarios = $this->Usuario->find('all');
		$this->set('usuarios',$usuarios);
		$this->set('menu','usuario');

		if(!empty($this->data)){		
	 		$dataUsuario = $this->data;
			$usuario = $this->Usuario->create();
			
			$dataUsuario['Usuario']['contrasena'] = md5($dataUsuario['Usuario']['contrasena']);

			if($this->Usuario->save($dataUsuario["Usuario"])){				
				$this->Session->setFlash('Se agregó al usuario con éxito','success');
				$this->redirect(array('controller'=>'Usuarios','action'=>'listar'),null,true);
			}
		}
	}
	
	function editar(){
		$this->verificarUsuario();
		if(isset($this->params["url"]['id'])){
			$id = $this->params["url"]['id'];
		}
		$usuario = $this->Usuario->findById($id);
		$this->set('usuario',$usuario);
		
		if(!empty($this->data)){
			$dataUsuario = $this->data;	
			$id = $dataUsuario["Usuario"]["id"];
			
			if($this->Usuario->save($dataUsuario["Usuario"])){
				$this->Session->setFlash('El usuario ha sido actualizado','success');
				$this->redirect(array('controller'=>'Usuarios','action'=>'listar'),null,true);
				
			}else{
				$this->Session->setFlash('El usuario no se actualizó. Inténtelo de nuevo');
			}
		}
	}

	function borrar(){
		$this->verificarUsuario();
		$id = $this->params["url"]['id'];
		
		if($this->Usuario->delete($id)){
			$this->Session->setFlash('Se eliminó el usuario con exito','success');
			$this->redirect(array('controller'=>'Usuarios','action'=>'listar'),null,true);
		}else{
			$this->Session->setFlash('No se pudo eliminar el usuario. Inténtelo nuevamente','notice');
			$this->redirect(array('controller'=>'Usuarios','action'=>'listar'),null,true);
		}
	}

	function cerrar(){
		$this->Session->destroy();
		$this->redirect(array('controller'=>'Usuarios','action'=>'index'),null,true);
	}

	function verificarAdmin(){
		$usuario = $this->Session->read('Usuario');
		if($this->Session->check('Usuario') == false){
			$this->Session->setFlash('Debe estar logueado');                        
			$this->redirect(array('controller'=>'Usuarios','action'=>'index'),null,true);
		}else if($usuario['rol'] == 0){
			$this->Session->setFlash('No tiene permisos para realizar esta acción', 'notice');                        
			$this->redirect(array('controller'=>'Usuarios','action'=>'index'),null,true);
		}
	}
	
	function verificarUsuario(){
		$u = $this->Session->read("Usuario");
		if($u['perfil']==2){
			$this->layout = "oca";
		}
		elseif($u['perfil']==3){
			$this->layout = "solicitante";
		}
		
		//Verificamos que exista alguna sesion abierta
		if($this->Session->check("Usuario") == false){
			$this->Session->setFlash('Debe estar logueado', 'notice');                        
			$this->redirect(array('controller'=>'Usuarios','action'=>'index'),null,true);
		}
	}	
	
	function verificarVendedor(){
		$usuario = $this->Session->read('Usuario');
		if($this->Session->check('Usuario') == false){
			$this->Session->setFlash('Debe estar logueado');                        
			$this->redirect(array('controller'=>'Usuarios','action'=>'index'),null,true);
		}else if($usuario['rol'] == 1){
			$this->Session->setFlash('No tiene permisos para realizar esta acción', 'notice');                        
			$this->redirect(array('controller'=>'Usuarios','action'=>'index'),null,true);
		}
	}
}
?>